perm filename THRUSE.SAI[PIC,HE]1 blob sn#419576 filedate 1979-02-22 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	begin
C00006 ENDMK
CāŠ—;
begin

  COMMENT
  **************************************************************

  Starting  date: August 23, 1978.
  To generate a new version of thrmaker.sav, see <babu>thruse.ctl

  **************************************************************
    Routine SAIL definitions, standard constants, and frequent
    REQUIREing of files are in the following file:;

        require  "<babu>define.sai"  source!file;

! This program is the interface between the user and the .thr
  files. Procedures for handling .thr files are declared in;

        require  "<babu>odt.dcl"  source!file;

! Variable to store the picture name;

        internal  string  picture;
  
! Task to be performed currently;

        integer  task;

	boolean  yes, exit;

  simple  procedure  tasklist;
  begin  "tasklist"

  ! Printing out of the menu in case the task to be performed
    is not in the list.;

    print(" This program can perform the following tasks: ",crlf);
    print("  0. Print the menu.",crlf);
    print("  1. Make a .thr file.",crlf);
    print("  2. Display a .thr file.",crlf);
    print("  3. Exit gracefully.",crlf);
    print("  4. .thr data dumped out.",crlf);
    print("  5. Count the no of edges.",crlf);
  end  "tasklist";

  initial;  task := 0;  exit := false;

  while  not  exit  do
  begin
    do  begin
      iprmpt(" Task to be performed",task);
    end  until  (0 <= task <= 5);
    if  not(task = 3 or task = 0)  then  sprmpt(" Picture",picture);
    case  task  of
    begin
    [0]   tasklist;
    [1]  begin
              odinit;  tmak;  tclose;
         end;
    [2]  begin
           tinit;  tzoom;  tfree;
         end;
    [3]  exit := true;
    [4]   begin
            tinit;  tprintout;  tfree;
            print(" Dump ready.",crlf);
          end;
    [5]   begin
            tinit;  tcount;  tfree;
          end
    end;
  end;

end